gusucode.com > ​数字信号处理,包括:各种现有信号及随机信号的输入,从文件读取数据的输入 > Digital Signal Matlab ex1/MTM.m

    Fs=500;
NFFT=1024;
n=0:1/Fs:1;
vx=randn(1,length(n));
x=4*sin(2*pi*50*n)-2*sin(2*pi*100*n)+vx;
overlap=20;
t=0:round(NFFT/2-1);
k=t*Fs/NFFT; %512

subplot(4,1,1);
[Pxx1,f1]=pmtm(x,2,NFFT,Fs);
P1=10*log(Pxx1);
plot(f1,P1);
title('Nw=2');

subplot(4,1,2);
[Pxx2,f2]=pmtm(x,4,NFFT,Fs);
P2=10*log(Pxx2);
plot(f2,P2);
title('Nw=4');

subplot(4,1,3);
[Pxx3,f3]=pmtm(x,8,NFFT,Fs);
P3=10*log(Pxx3);
plot(f3,P3);
title('Nw=8');

subplot(4,1,4);%
%y=fft(x,NFFT);
%Pxx4=y.*conj(y)/NFFT;
%plot(k,Pxx4(t+1));
[Pxx4,f4]=pmtm(x,10,NFFT,Fs);
P4=10*log(Pxx4);
plot(f4,P4);
title('Nw=10');